Musical synthesizers have become very popular among both professional and amateur musicians. Typically, a synthesizer can provide the sound of a variety of musical instruments. Some synthesizers can also generate the sound of a variety of instruments at a same time, such that one player may emulate an entire orchestra. Some of these synthesizers operate based on the principles of frequency modulation, FM, synthesis.
It is well known that the frequency spectrum of an FM modulated signal contains a sizeable number of harmonics. By manipulating the pertinent parameters in an FM modulation scheme, it is possible to provide signals that emulate the sound of musical instruments. Such manipulation of parameters in an FM modulation scheme is referred to as FM synthesis. FM synthesis exploits the fact that modulating one waveform with another waveform produce a waveform with many more harmonics than were present in either of the waveforms. For example, in a typical FM based synthesizer, the phase of a carrier sine signal is in turn another modulating sine signal. The frequency ratio of modulator to carrier will determine which harmonics will result. The amplitude of modulating signal determines how many of the potential harmonics will result.
There are various implementations of FM synthesis to emulate musical tones such as the systems disclosed in U.S. Pat. Nos. 4,018,121, 4,249,447, 4,643,066, and 4,813,326, the disclosures of which are hereby incorporated by reference. All of the systems disclosed in these patents utilize a waveform in performing FM synthesis. In U.S. Pat. No. 4,018,121, for example, the waveform is generated from a sine table. (See Col. 19, lines 32-41) Similarly, a sine memory is used to generate the waveform in U.S. Pat. No. 4,249,447. (See Col. 8, lines 40-45; Col, 9, lines 56-68) A sine wave waveform memory is used to obtain a sine wave in U.S. Pat. No. 4,643,066. (See Col. 11, lines 22-33) A waveshape table is used to generate the waveshape in U.S. Pat. No. 4,813,326. (See Col. 1, lines 60-66)
As these patents demonstrate, the wave functions needed to perform FM synthesis are usually generated using lookup table methods. Typically, when a lookup table is used a function is evaluated by reading its values directly from a memory containing a large number of samples of the function. Alternatively, Taylor series methods may be used to evaluate the desired function. Taylor series methods are less suitable, however, due to the large amount of computation required.
Thus, there is a need for a more efficient generation of wave functions, particularly those wave functions used in FM synthesis.